package com.jsbs.iam.user.mapper;

import com.jsbs.iam.user.entity.IamPostOrgRelation;
import com.jsbs.iam.user.vo.OrgThreeInfo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Mapper
@Repository
public interface PostOrgRelationMapper {

    /**
     * 功能描述：统计
     * @param dataSource
     * @param orgCode
     * @param postId
     * @return
     */
    int countByOrgPostCode(@Param("companyCode") String companyCode, @Param("dataSource") String dataSource, @Param("orgCode") String orgCode, @Param("postId") String postId);

    /**
     * 功能描述：批量新增
     * @param postOrgRelations
     */
    void batchInsert(@Param("list") List<IamPostOrgRelation> postOrgRelations);

    /**
     * 功能描述：批量更新
     * @param updateList
     */
    void batchUpdate(@Param("list") List<IamPostOrgRelation> updateList);

    /**
     * 功能描述：获取组织类型下所有关联岗位
     * @param orgTypeCode
     * @return
     */
    List<OrgThreeInfo> queryPostList(@Param("orgTypeCode") String orgTypeCode);

    /**
     * 获取所有关联岗位数据
     * @param companyCode
     * @return
     */
    List<OrgThreeInfo> queryPostAllList(@Param("companyCode") String companyCode);
}
